home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 38
/
Amiga Format CD38 (1999-03-15)(Future Publishing)(GB)(Track 1 of 3)[!][issue 1999-04].iso
/
-seriously_amiga-
/
hardware
/
remapollo
/
remapollo.doc
< prev
next >
Wrap
Text File
|
1999-01-25
|
14KB
|
340 lines
RemAPollo V0.97 BETA
Eccentric Creations (TM) Product
(c) Mikolaj Calusinski 1998-99. Freeware.
User Manual
Introduction
------------
RemAPollo - A1200 040\060 MMU Apollo Turboboard Remapper is freeware but
copyrighted software. It has been written as a result of my depression arising
from the sad fact that no working MMU remapper program was available for
Apollo board. We, Apollo users, were in worse position than our Blizzard
owning friends; they are able to modify their Kickstart ROMs as easily as
setting one jumper on their board. We couldn't do that - our boards have no
dedicated jumpers and there were no software to support us in our Kickstart
changing needs. But, hopefully, this inequality will end now thanks to
RemAPollo.
Please, notice the fact, that RemAPollo is currently at BETA testing stage, so
problems are very likely to occur. Please contact me in case of any trouble
caused by remapper; detailed bug reports are welcome. For contact address see
'Author' section below. Also, be sure to carefully read this manual!
Distribution
------------
RemAPollo package may be distributed freely, providing the following criteria
are met:
- None of the files in the RemAPollo distribution archive may be modified or
omitted.
- No money is charged for it apart from media and small handling fee.
- RemAPollo package may be included in freely distributable software
libraries, but it CANNOT appear on commercial CD-ROMs (including all kind
of coverdiscs). If you want to include RemAPollo on your CD-ROM you must
ask for my permission first. This does not apply to AminetCD series;
Administrator of Aminet, Urban MÜller, has my full permission to place
RemAPollo package on AminetCD.
- RemAPollo may not be bundled with any commercial hardware or software
product without prior written consent from me.
Disclaimer
----------
YOU USE RemAPollo FILES TOTALLY ON YOUR OWN RISK. I TAKE NO RESPOSIBILITY FOR
ANY DAMAGE CAUSED BY USING RemAPollo PACKAGE.
What is that actually for?
--------------------------
RemAPollo is a software package for users of Amiga 1200 computer equipped with
040/060 Apollo Turboboard. It consists of a few files which can be used to
remap ROM part of Amiga Operating System, known as Kiskstart, to fast memory
and boot the computer from it. You can move your physical ROM to fast memory
just to gain more speed or you can use wholely different Kickstart image
(especially useful if you are a developer). For more details see Usage
section.
Requirements
------------
For proper operation of RemAPollo package you require:
- an Amiga 1200
- at least 2.0 (V36) Kickstart in ROM (this should not be a problem :-)
- Apollo 040 or 060 Turboboard (the processor must have fully working MMU)
loaded with at least 1MB of fast memory
- original 040.library from Commodore in versions 37.10 or 37.30 if you are
using 68040 processor or 060.library supplied with the board (currently
only version 60.10 is supported) if you are using 68060 processor.
Installation
------------
Installation, however simple, requires some steps which should be followed
strictly and carefully, else system will almost certainly cause you trouble.
As RemAPollo is not for absolute beginners, there is no installation script
provided - you are required to do all the work by hand.
1.
First - and this is VERY important - you should patch 040(060).library. In
RemAPollo package there is a special program for this purpose called 'patch'.
If your 040(060).library is located in LIBS: and is not crunched (as it should
be in normal setup) all you have to do is type in a shell window command
'patch' without any parameters. The program will inform you about results of
its work. Please note that for 68040 processor only original libraries from
Commodore are supported; if you are using newer 3rd party library (propably
from Phase5) you will need to stop to do so or RemAPollo won't work. There is
really no need to use Phase5's libraries with Apollo board, believe me; they
were designed for Blizzard turbos.
If your library is crunched, first decrunch it and invoke 'patch' program with
path parameter pointing to this decrunched library. After patch is done you
can recrunch library again.
This patch is ABSOLUTELY necessary if you want your system to boot reliably
with mapped Kickstart. Your Amiga may seem to work well without the patch but
this is simply asking yourself for trouble; sooner or later your system may
crash. If you want to know further details see Additional notes section.
2.
After above patch is done, you should copy command 'DRAP' (Apollo Remapper
Deallocator) to your C: directory. Now, put the call for it in your
startup-sequence as the very FIRST line just AFTER SetPatch. So, your startup
should look like this:
...
SetPatch QUIET
DRAP
...
This little program is not absolutely necessary for proper operation of system
with remapped Kickstart but its use is very strongly encouraged. It will free
some memory used by remapper during boot (67712 bytes to be exact) and
generally restore the system to more stable and efficient state. If you intend
to use MAC patch (see Usage) this program *MUST* be run or Fusion will crash.
Its use will also speed up system a bit as it moves first page of memory,
which contains absolute location 4 and happens to be in slooow chip mem, to
fast memory. Finally, DRAP will writeprotect mapped Kickstart. You can keep
its invocation in startup-sequence all the time - even when you want to boot
directly from your ROM Kickstart without help of remapper - as it will do
exactly nothing (except setting return code to 5 [WARN]) while relocation is
not active.
3.
When two above steps are completed, you can finally use the remapper itself.
See Usage.
Relocation will survive between resets as long as exec base remains valid and
ColdCapture vector is not changed. To get rid of the resident and return to
original ROM Kickstart just use supplied 'Reset' command with HARD parameter.
It will clear execbase pointer thus removing all resident code from your
system.
Usage
-----
RemAPollo main program can be invoked from both environments: CLI and WB.
WB tooltypes are almost identical to CLI parameters, so let's discuss the
latter.
Standard template (can be obtained via use of question mark) looks like this:
KICKFILE,MAC/S,NF=NOPAGEFIX/S,FORCE/S,QUIET/S:
None of parameters is required. If you do not supply any parameters, current
ROM Kickstart will be remapped, patched and the computer will perform reset.
You will boot with the same Kickstart as in ROM, but with one very useful
difference: remapper patches Kickstart in such a way, that fast memory is
usable to the system very early. Thanks to it exec can use this fast memory
for early initialization, placing there own library base and supervisor
stack, so you no longer need patches like FastExec. Additionally you are able
to mount recoverable ramdrives (RADs) in fast memory!
KICKFILE parameter is used to specify location of optional Kickstart image
file you want your computer to boot from and operate on. Only 512KB images
with $1114 header and a correct checksum are supported. RemAPollo cannot be
used to remap pre-2.0 (256KB) Kickstarts.
MAC - use this switch to reserve first 16KB of chip memory as required by
Fusion, Apple Macintosh software emulator for Amiga. You won't need to use any
RsrvCold, RsrvWarm or PrepareEmul-like tools in your startup-sequence then.
Naturally, this switch allows proper operation of ShapeShifter as well. Don't
forget to run 'DRAP' command after SetPatch though!
NF or NOPAGEFIX - this parameter is only useful with 2.x Kickstart images; on
versions 3.x is completely ignored. It is used to switch off fixing of the
first memory page performed automatically on 2.x Kickstarts by remapper. On
those Kickstarts, chip memory is linked to system memlist from location $400.
Because 040/060 processors have MMU page resolution of at least 4kb, it is
better to start chip memory from adequately aligned location such as $1000.
Mapper does this by properly fixing exec initialization routines; starting
from Kickstart 3.0 the fix is no longer necessary as it is performed already
by Kickstart itself. If, for some reason, you do not want to change original
behaviour of 2.x Kickstarts regarding chip memory init, specify NOPAGEFIX.
This parameter is overridden by use of MAC switch.
FORCE - specify this if you want to remap Kickstart in spite of the fact, that
relocation is already active. Normally, remapper will not try to start mapping
process when it detects that this has been already done (so you can use mapper
in your startup-sequence without looping reboots).
QUIET - ideal option for those, who want to use remapper permanently in
startup-sequence. It stops all text output from RemAPollo and shortens delay
before rebooting.
You can abort remapping process while not in quiet mode by pressing standard
CTRL-C break.
If you need an example - I use the following phrase as a very first line of my
startup-sequence:
RemAPollo MAC QUIET
I have 3.1 ROMs so no need to specify Kickstart image, but if you use 3.0, you
can issue something like this:
RemAPollo DEVS:Kickstart3.1 MAC QUIET
Of course, you must have appropriate Kickstart image file in DEVS: to do this.
Additional Notes
----------------
Resident code of RemAPollo is protected with checksum to assure proper booting
- program will turn the screen red and hard reset the machine when any change
in resident segment is found.
Mapper uses ColdCapture vector to survive between reboots, so you should not
run any other programs which make use of this vector. Also, CPU Bus Error
vector ($00000008) is replaced and should remain in this state until SetPatch
open 68040(60).library. After that you should run DRAP command which restores
this vector to original. Take above facts into account when examining system
with antivirus program.
To allow Kickstart mapping, RemAPollo must build MMU translation tables which
consume some memory. I tried to limit amount of this memory as much as
possible, so mapper uses 8KB MMU pages. Unfortunately, this design conflicts
with the way Commodore's 040.library and Apollo's 060.library install their
own 4K tables. These libraries do not switch MMU off before loading root
pointers resulting in unpredictable system behaviour. Look at this code from
040.library in version 37.30:
(following routine is entered with enabled MMU in 8K mode, as done by mapper)
ori.w #$700,SR
pflusha
move.l (A0)+,D0
movec D0,URP ;!!! URP points to 4K tables!!!
move.l (A0)+,D0
movec D0,SRP ;!!! SRP points to 4K tables!!! - BOOOM!
move.l (A0)+,D0
movec D0,TC ;MMU is switched to 4K mode, little late...
pflusha
moveq #0,D0
movec D0,ITT0
movec D0,ITT1
movec D0,DTT0
movec D0,DTT1
rte
To work properly, above routine should start with something like this...
ori.w #$700,SR
moveq #0,d0
movec d0,TC ;switch MMU off
pflusha
...and that's exactly what does the 'patch' program.
Bugs
----
None found. (But variety of betatester's systems was rather limited).
History
-------
V0.1ALPHA - (??.9.98) - internal hardcoded versions for my own use
V0.96ß - (23.12.98) - first semi-public release, to selected betatesters only
V0.97ß - (1.1.99) fixes:
- caches are now invalidated prior enabling
- only instruction cache is enabled at start
- resident now checks ROM checksum - hard reset when incorrect
V0.973ß - (8.1.99)
- added fix for $c00000 mem recognition (this should cure yellow-screen
crashes occuring on some systems). Thanks for Arkadiusz Winiarek and Marcin
Ostrowski for reporting this.
V0.974ß - (12.1.99)
- added 060 flag to execbase when 060 detected
V0.975ß - (13.1.99)
- better resident code recognition (you can use *polite* programs that grab
coldcapture vector now). First truly public version.
Thanks
------
Big thanks must go to Harry Sintonen who send me some early infos about 040
MMU - it was long ago but they helped me to recognize the problem I intended
to confront with; thanks again mate!
Warm kisses to Motorola ;-) for excellent Literature Distribution Center which
provides all the customers with various kinds of printed manuals. For free!
I didn't have to register as a certified developer, issue any monthly fees nor
sign any NDAs just to get access to information. Incredible for people used to
Commodore's policy, but true. ;-)
Last (but not least) - thanks to all alfatesters who agreed to risk integrity
of their systems while fighting with numerous versions of RemAPollo
(especially to Marcin Ostrowski for helping me to notice serious bug; hope you
finally will manage to set your system stright again... ;)
Special thanks to Arkadiusz Winiarek without whom RemAPollo would never work
with 060.
Also I wish to thank my brother Jacek for Polish version of this manual (I'm
so lazy... :)
This program is dedicated to Ministry - the band creating music, not (c)rap.
Author
------
My e-mail address (this is preferred way of contact): bloelle@priv.gold.pl or
bloelle@polbox.com
For those without inet access:
Mikolaj Calusinski
ul. Olsztynska 113/117
42-200 Czestochowa
POLAND
I hope you find this little proggy useful. Have fun!
Mike.
------------> AMIGA - THE BEST COMPUTER EVER <------------